return "CYCLE GRAPHICS" & RETURN & RETURN & "This behavior cycles through a series of consecutive cast members." & RETURN & RETURN & "It gives you all the features of a single member filmloop, plus the possibility of precise control via Lingo. " & "These possibilities include speed control, starting and stopping at an arbitrary image, modifying the list of images to cycle through and more. " & "(See Public Methods below.)" & RETURN & RETURN & "You simply arrange your castmembers in the order they should appear in the cycle, then use the Parameters dialog to indicate the first and last images. " & "You can use any type of graphic member. " & "Spaces between cast members will be ignored." & RETURN & RETURN & "The registration point of each member will appear at the location of the current sprite. " & "If necessary, modify the registration point of each member individually so that it appears in the correct position relative to the other members of the cycle." & RETURN & RETURN & "If you shift the members to different cast slots, you will need to alter the settings in the Parameters dialog: a film loop can keep track of where you drag its members to, but this behavior cannot do that." & RETURN & RETURN & "The images cannot cycle faster than the current frame tempo. " & "If you need to cycle faster, either increase the tempo or reduce the number of images in the list. " & "At speeds of more than 60 images per second, the human eye is incapable of distinguishing individual images, so higher speeds are unnecessary." & RETURN & RETURN & "PERMITTED MEMBER TYPES:" & RETURN & "bitmap, button, field, filmloop, Flash, Director movie," & RETURN & "QuickTime, shape, text, vector shape" & RETURN & RETURN & "PARAMETERS:" & RETURN & "* First member of series" & RETURN & "* Last member of series" & RETURN & "* Maximum speed" & RETURN & "* Cycle direction (forwards or backwards)" & RETURN & "* Start cycling on beginsprite" & RETURN & RETURN & "If you choose not to start cycling images on beginsprite, then you need to send a CycleGraphics_ToggleLoop message to the sprite or the behavior to make the cycle start." & RETURN & RETURN & "PUBLIC METHODS:" & RETURN & "* Determine which image is currently showing" & RETURN & "* Cycle images at the frameTempo or slower" & RETURN & "* Play the images forwards or backwards" & RETURN & "* Start and stop at an arbitrary image" & RETURN & "* Jump to a given image" & RETURN & "* Determine or modify the list of images to cycle through" & RETURN & "* Obtain the behavior reference"
end
on getBehaviorTooltip me
return "Use with any graphic member." & RETURN & RETURN & "Cycles a sprite through a series of images at a rate independent of the frame tempo." & RETURN & RETURN & "This behavior gives you all the features of a single member filmloop, plus precise control via Lingo. " & "You can stop/start the cycle, alter the speed, jump to an arbitrary member, reverse the direction of the cycle, get and set the list of members to cycle through, and determine which image is currently showing." & RETURN & RETURN & "See the Notes for Developers in the script for more details."
end
on beginSprite me
myTimeUnit = resolve(myTimeUnit)
myPlayBackwards = resolve(myPlayBackwards)
Initialize(me)
end
on resolve prop
case prop of
myTimeUnit:
choiceslist = ["Images Per Second", "Ticks Per Image", "Seconds Per Image", "Minutes Per Image"]
lookup = ["images per second", "ticks per image", "seconds per image", "minutes per image"]
message = substituteStrings(me, "BEHAVIOR ERROR: Frame ^0, Sprite ^1" & RETURN & "Behavior ^2" & RETURN & "Certain members between ^3 and ^4 were not graphical members so they will not be displayed. " & "Check the permitted types list for valid types.", ["^0": the frame, "^1": me.spriteNum, "^2": behaviorName, "^3": myFirstMember, "^4": myLastMember])
alert(message)
end case
end
on substituteStrings me, parentString, childStringList